Unlike block codes or convolutional codes, the rate is specified in rateless codes. Rateless coding schemes known in the art include Luby Transform (LT) codes and Raptor codes. Fountain codes (also known as rateless erasure codes) are a class of erasure codes with the property that a potentially limitless sequence of encoding symbols can be generated from a given set of source symbols such that the original source symbols can be recovered from any subset of the encoding symbols of size equal to or only slightly larger than the number of source symbols. A fountain code is optimal if the original k source symbols can be recovered from any k encoding symbols. Fountain codes are known that have efficient encoding and decoding algorithms and that allow the recovery of the original k source symbols from any k′ of the encoding symbols with high probability, where k′ is just slightly larger than k. Rateless coding schemes were originally applied to erasure channels, and more recently to noisy channels. Some conventional rateless coding schemes use length estimation, which is any scheme which estimates or predicts how many bits or symbols are needed for successful decoding of a rateless code.
Theoretically, length estimation can predict the required length of rateless codes in a communications system. However, in practice, when applying length estimation to rateless code communication systems, the error rate is high because rateless codes do not reach the channel capacity in many situations. Channel capacity is a measure of the maximum number of information/data bits per symbol that can be transmitted and reliably received. As a result, additional decoding overhead on the receive side is required to compensate for the incorrect length estimation on the transmit side.
Some prior art length estimation methods account for this by applying a static scaling factor. In some conventional rateless coding schemes using length estimation, a fixed scaling factor is applied to the length estimation to compensate for inaccurate code length estimations. If the fixed scaling factor is equal to one, then it is effectively uncompensated.
There was no power adjustment in prior art rateless coding schemes. If the required number of coded bits was too much at the given power level, then errors would occur because not enough coded bits could be transmitted before the deadline. That is, there was no option to improve the SNR by increasing the power level and thus reduce the number of coded bits that should be transmitted in order to be successfully decoded at the receiver side. On the receive side, there was correspondingly no consideration given in the prior art to increasing the power at the transmitter side in order to increase the ability of the receiver to decode the transmitted coded bits before the deadline. If the SNR was good then little was to be gained by increasing the power level.
In prior art rateless coding schemes, length estimations were not adaptive nor was adaptive modulation employed. That is, if too many coded bits were required to be transmitted such that it was impossible to meet the deadline, then there was no alternative but to incur the errors and performance degradation.
It would be advantageous to apply adaptive length estimation, adaptive modulation and power adjustments to rateless/fountain coding schemes. As used herein, “/” denotes alternative names for the same or similar components or ideas. That is, “/” can be taken to mean “or” herein.